package org.x.user.service;


import com.mybatisflex.core.paginate.Page;
import org.x.user.dto.*;
import org.x.user.entity.SysDeptEntity;
import com.mybatisflex.core.service.IService;
import org.x.user.vo.DeptTreeVO;
import org.x.user.vo.DeptUserVO;
import org.x.user.vo.SysDeptVO;

import java.util.List;

/**
 * 部门表 服务层。
 *
 * @author mybatis-flex-helper automatic generation
 * @since 1.0
 */
public interface ISysDeptService extends IService<SysDeptEntity> {
    Long create(CreateDeptDTO createDeptDTO);

    void update(UpdateDeptDTO updateDeptDTO);

    void deleteById(Long deptId);

    Page<SysDeptVO> list(DeptQueryDTO deptQueryDTO);

    SysDeptEntity detail(Long deptId);

    List<DeptTreeVO> tree();

    DeptUserVO userList(DeptUserDTO deptUserDTO);

    void structure(List<DeptStructureDTO> list);
}